home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / geograph / world_2 / doc / world_2.lst < prev    next >
File List  |  1986-02-05  |  4KB  |  239 lines

  1. '
  2. '  WORLD_2   (GFA)  Zeichne:  Nord-Amerika   NA 0123   GR 01   USA 01
  3. '                             Süd -Amerika   SA 0123   PA  1    AN 01
  4. '                             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  5. Dim A(24000)
  6. Q%=Lpeek(Arrptr(A()))+20
  7. Graphmode 2
  8. Cls
  9. '
  10. Start:
  11. Print
  12. Print "  THE WORLD DIGITIZED   John B.  ALLISON  "
  13. Print "                        166  Shady  Lane  "
  14. Print "                        APOLLO, PA 15613  "
  15. Print "                        ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯  "
  16. Print "  Vergrößern    linke   Maus-Taste        "
  17. Print "  Verkleinern   rechte  Maus-Taste        "
  18. Print "  Verschieben, wenn die Maus  den  RAND  berührt  "
  19. Print "  Ende - ESC-Taste                        "
  20. Print "                      ( SHARE-WARE 20 $ ) "
  21. Pause 500
  22. While Mousek>0
  23. Wend
  24. '
  25. '
  26. Mx%=639                   !  Auflösung
  27. Ny%=399
  28. If Xbios(4)<2             !  Farbe ?
  29.   Mx%=319
  30.   Ny%=199
  31. Endif
  32. If Xbios(3)>=8*1024*1024  !  Groß-Bildschirm ?
  33.   Mx%=1279
  34.   Ny%=959
  35. Endif
  36. '
  37. P=Pi/180
  38. A=256*256*16    !  Kommastelle aufheben
  39. '
  40. L=-90           !  Länge
  41. B=46            !  Breite
  42. C=3.9*Ny%/400   !  Vergrößerung-X
  43. '
  44. '
  45. '
  46. ' NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
  47. Neu:
  48. D=C/Cos(B*P)    !  Vergrößerung-Y
  49. M%=Mx%/2-C*L    !  Mitte-X
  50. N%=Ny%/2+D*B    !  Mitte-Y
  51. Defmouse 2
  52. Defline 1,1,0,0    !  ------ normale Linien
  53. '
  54. '
  55. ' COASTLANDS
  56. ' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  57. Bload "na0.rel",Q%
  58. Cls
  59. @Land
  60. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  61.   Goto M2
  62. Endif
  63. '
  64. '
  65. Bload "usa0.rel",Q%
  66. @Land
  67. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  68.   Goto M2
  69. Endif
  70. '
  71. '
  72. Bload "sa0.rel",Q%
  73. @Land
  74. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  75.   Goto M2
  76. Endif
  77. '
  78. '
  79. Bload "gr0.rel",Q%
  80. @Land
  81. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  82.   Goto M2
  83. Endif
  84. '
  85. '
  86. ' ISLANDS
  87. ' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  88. Bload "sa1.rel",Q%
  89. @Land
  90. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  91.   Goto M2
  92. Endif
  93. '
  94. '
  95. Bload "usa1.rel",Q%
  96. @Land
  97. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  98.   Goto M2
  99. Endif
  100. '
  101. '
  102. Bload "na1.rel",Q%
  103. @Land
  104. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  105.   Goto M2
  106. Endif
  107. '
  108. '
  109. Bload "gr1.rel",Q%
  110. @Land
  111. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  112.   Goto M2
  113. Endif
  114. '
  115. '
  116. Bload "pa1.rel",Q%
  117. @Land
  118. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  119.   Goto M2
  120. Endif
  121. '
  122. '
  123. ' LAKES
  124. ' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  125. Bload "na2.rel",Q%
  126. @Land
  127. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  128.   Goto M2
  129. Endif
  130. '
  131. '
  132. Bload "sa2.rel",Q%
  133. @Land
  134. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  135.   Goto M2
  136. Endif
  137. '
  138. '
  139. ' BOUNDARIES
  140. ' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  141. Defline -21845,1,0,0   ! ... gepunktete Linien
  142. Bload "na3.rel",Q%
  143. @Land
  144. If Z%>0 Or X%=0 Or X%=Mx% Or Y%=0 Or Y%=Ny%
  145.   Goto M2
  146. Endif
  147. '
  148. '
  149. Bload "sa3.rel",Q%
  150. @Land
  151. '
  152. '
  153. '
  154. '
  155. ' MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  156. Defmouse 0
  157. Maus:
  158. Mouse X%,Y%,Z%
  159. '
  160. M2:
  161. If Z%=1                 !  größer
  162.   C=C*1.6
  163. Endif
  164. If Z%=2                 !  kleiner
  165.   C=C/1.6
  166. Endif
  167. If Z%=3                 !  ganzes Bild
  168.   Goto Start
  169. Endif
  170. '
  171. '
  172. If X%=0                 !  nach links
  173.   L=L-180/C
  174.   Z%=3
  175. Endif
  176. If X%=Mx%               !  nach rechts
  177.   L=L+180/C
  178.   Z%=3
  179. Endif
  180. '
  181. If Y%=0                 !  nach oben
  182.   B=B+120/D
  183.   Z%=3
  184. Endif
  185. If Y%=Ny%               !  nach unten
  186.   B=B-120/D
  187.   Z%=3
  188. Endif
  189. '
  190. '
  191. If Z%>0
  192.   If L<-170 Or L>-20
  193.     L=-95+75*Sgn(L+95)
  194.   Endif
  195.   If B<-60 Or B>80
  196.     B=10+70*Sgn(B)
  197.   Endif
  198.   Goto Neu              !  neues Bild
  199. Endif
  200. '
  201. If Asc(Inkey$)<>27
  202.   Goto Maus             !  zur Maus-Abfrage
  203. Endif
  204. ' MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  205. '
  206. End
  207. '
  208. '
  209. '
  210. '
  211. '
  212. ' LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
  213. Procedure Land
  214.   Hidem
  215.   T%=Q%
  216.   ' _______________________________________
  217.   Do
  218.     Y=Lpeek(T%)/A           !  Breite
  219.     X=Lpeek(T%+4)/A         !  Länge
  220.     Add T%,8
  221.     Exit If Y=0 Or X=0
  222.     '
  223.     If Abs(Y)>90            !  neue Linie ?
  224.       Y=Y-95.4*Sgn(Y)
  225.       Draw M%+X*C,N%-Y*D
  226.     Endif
  227.     '
  228.     Draw  To M%+X*C,N%-Y*D
  229.   Loop
  230.   ' ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  231.   Showm
  232.   Mouse X%,Y%,Z%
  233.   Arrayfill A(),0
  234. Return
  235. ' LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
  236. '
  237. '
  238. '
  239.